函数防抖
1 | function debounce(func,wait,immediate) { |
函数节流
时间戳版:
1 | function throttle(func, wait) { |
定时器版:
1 | function throttle(func, wait) { |
乍一眼时器版看上去和函数防抖一样,最本质的的区别在于if (timer) clearTimeout(timer);
防抖如果重复触发会清除定时器,重新开始等待(立即执行版第一次不算的话),而节流则不管,时间到了就执行,马上执行或者延迟执行看需求选择。